import defaultConfig from '../../../default.config';
export interface CoolCpuRateProps {
  cpu_rate: number;
  last_polled: Date;
  device_id?: string;
}

export interface CoolDiskProps {
  device_id: string;
  disk_path: any;
  disk_size: string;
  disk_used: string;
  last_polled: Date;
}

export interface ConfigProps {
  id?: number;
  device_id: string;
  device_config: string;
}

export type DeviceConfigProps = typeof defaultConfig;

export const INTER_TYPES = {
  '1': 'OTHER',
  '2': 'REGULAR1822',
  '3': 'HDH1822',
  '4': 'DDNX25',
  '5': 'RFC877X25',
  '6': 'ETHERNETCSMACD',
  '7': 'ISO88023CSMACD',
  '8': 'ISO88024TOKENBUS',
  '9': 'ISO88025TOKENRING',
  '10': 'ISO88026MAN',
  '11': 'STARLAN',
  '12': 'PROTEON10MBIT',
  '13': 'PROTEON80MBIT',
  '14': 'HYPERCHANNEL',
  '15': 'FDDI',
  '16': 'LAPB',
  '17': 'SDLC',
  '18': 'DS1',
  '19': 'E1',
  '20': 'BASICISDN',
  '21': 'PRIMARYISDN',
  '22': 'PROPPOINTTOPOINTSERIAL',
  '23': 'PPP',
  '24': 'SOFTWARELOOPBACK',
  '25': 'EON',
  '26': 'ETHERNET3MBIT',
  '27': 'NSIP',
  '28': 'SLIP',
  '29': 'ULTRA',
  '30': 'DS3',
  '31': 'SIP',
  '32': 'FRAMERELAY',
  '33': 'RS232',
  '34': 'PARA',
  '35': 'ARCNET',
  '36': 'ARCNETPLUS',
  '37': 'ATM',
  '38': 'MIOX25',
  '39': 'SONET',
  '40': 'X25PLE',
  '41': 'ISO88022LLC',
  '42': 'LOCALTALK',
  '43': 'SMDSDXI',
  '44': 'FRAMERELAYSERVICE',
  '45': 'V35',
  '46': 'HSSI',
  '47': 'HIPPI',
  '48': 'MODEM',
  '49': 'AAL5',
  '50': 'SONETPATH',
  '51': 'SONETVT',
  '52': 'SMDSICIP',
  '53': 'PROPVIRTUAL',
  '54': 'PROPMULTIPLEXOR',
  '55': 'IEEE80212',
  '56': 'FIBRECHANNEL',
  '57': 'HIPPIINTERFACE',
  '58': 'FRAMERELAYINTERCONNECT',
  '59': 'AFLANE8023',
  '60': 'AFLANE8025',
  '61': 'CCTEMUL',
  '62': 'FASTETHER',
  '63': 'ISDN',
  '64': 'V11',
  '65': 'V36',
  '66': 'G703AT64K',
  '67': 'G703AT2MB',
  '68': 'QLLC',
  '69': 'FASTETHERFX',
  '70': 'CHANNEL',
  '71': 'IEEE80211',
  '72': 'IBM370PARCHAN',
  '73': 'ESCON',
  '74': 'DLSW',
  '75': 'ISDNS',
  '76': 'ISDNU',
  '77': 'LAPD',
  '78': 'IPSWITCH',
  '79': 'RSRB',
  '80': 'ATMLOGICAL',
  '81': 'DS0',
  '82': 'DS0BUNDLE',
  '83': 'BSC',
  '84': 'ASYNC',
  '85': 'CNR',
  '86': 'ISO88025DTR',
  '87': 'EPLRS',
  '88': 'ARAP',
  '89': 'PROPCNLS',
  '90': 'HOSTPAD',
  '91': 'TERMPAD',
  '92': 'FRAMERELAYMPI',
  '93': 'X213',
  '94': 'ADSL',
  '95': 'RADSL',
  '96': 'SDSL',
  '97': 'VDSL',
  '98': 'ISO88025CRFPINT',
  '99': 'MYRINET',
  '100': 'VOICEEM',
  '101': 'VOICEFXO',
  '102': 'VOICEFXS',
  '103': 'VOICEENCAP',
  '104': 'VOICEOVERIP',
  '105': 'ATMDXI',
  '106': 'ATMFUNI',
  '107': 'ATMIMA',
  '108': 'PPPMULTILINKBUNDLE',
  '109': 'IPOVERCDLC',
  '110': 'IPOVERCLAW',
  '111': 'STACKTOSTACK',
  '112': 'VIRTUALIPADDRESS',
  '113': 'MPC',
  '114': 'IPOVERATM',
  '115': 'ISO88025FIBER',
  '116': 'TDLC',
  '117': 'GIGABITETHERNET',
  '118': 'HDLC',
  '119': 'LAPF',
  '120': 'V37',
  '121': 'X25MLP',
  '122': 'X25HUNTGROUP',
  '123': 'TRASNPHDLC',
  '124': 'INTERLEAVE',
  '125': 'FAST',
  '126': 'IP',
  '127': 'DOCSCABLEMACLAYER',
  '128': 'DOCSCABLEDOWNSTREAM',
  '129': 'DOCSCABLEUPSTREAM',
  '130': 'A12MPPSWITCH',
  '131': 'TUNNEL',
  '132': 'COFFEE',
  '133': 'CES',
  '134': 'ATMSUBINTERFACE',
  '135': 'L2VLAN',
  '136': 'L3IPVLAN',
  '137': 'L3IPXVLAN',
  '138': 'DIGITALPOWERLINE',
  '139': 'MEDIAMAILOVERIP',
  '140': 'DTM',
  '141': 'DCN',
  '142': 'IPFORWARD',
  '143': 'MSDSL',
  '144': 'IEEE1394',
  '145': 'IF_GSN',
  '146': 'DVBRCCMACLAYER',
  '147': 'DVBRCCDOWNSTREAM',
  '148': 'DVBRCCUPSTREAM',
  '149': 'ATMVIRTUAL',
  '150': 'MPLSTUNNEL',
  '151': 'SRP',
  '152': 'VOICEOVERATM',
  '153': 'VOICEOVERFRAMERELAY',
  '154': 'IDSL',
  '155': 'COMPOSITELINK',
  '156': 'SS7SIGLINK',
  '157': 'propWirelessP2P',
  '158': 'frForward',
  '159': 'rfc1483',
  '160': 'usb',
  '161': 'ieee8023adLag',
  '65534': 'SWITCHSTACK.',
  '0': 'VIRTUAL',
};

export interface ProcessItemProps {
  pid: number;
  processName: string;
  processPath: string;
  runParameters: string;
  runType: 'unknown' | 'operatingSystem' | 'deviceDriver' | 'application';
  runStatus: 'running' | 'runnable' | 'notRunnable' | 'invalid';
  last_polled: Date;
}
export const RunTypeMap = {
  '1': 'unknown',
  '2': 'operatingSystem',
  '3': 'deviceDriver',
  '4': 'application',
};

export const RunStatus = {
  '1': 'running',
  '2': 'runnable',
  '3': 'notRunnable',
  '4': 'invalid',
};
